1. Field of the Invention The present invention relates to a network system and a control method thereof. More specifically, the present invention relates to a network system including an appliance having a packet header rewriting function and a control method thereof.
2. Description of the Related Art
A network control protocol named “OpenFlow” is disclosed in Nick McKeown et al., “OpenFlow: Enabling Innovation in Campus Networks”, ACM SIGCOMM Computer Communication Review, Vol. 38, No. 2, 2008. (http://www.openflowswitch.org//documents/openflow-wp-latest.pdf). In the OpenFlow protocol, a path control, a failure recovery, a load distribution, and optimization are carried out in increments of flows. In the OpenFlow protocol, OpenFlow switches which serve as transfer nodes, and an OpenFlow controller which controls the OpenFlow switches are used.
An OpenFlow switch is provided with a flow table indicating a correlation between “matching conditions” and “actions”, and operates in accordance with the flow table. Specifically, an OpenFlow switch refers to the flow table upon reception of a packet, and searches the flow table for an entry matching the received packet. When an entry that matches the received packet is registered in the flow table, the OpenFlow switch executes an action specified by the matching entry on the received packet. Typically, the OpenFlow switch transfers the received packet to an output port specified by the action.
The OpenFlow controller sets contents of the flow tables of OpenFlow switches. More specifically, the OpenFlow controller gives instructions, such as an addition of a new entry, a change of an entry, and a deletion of an entry, to OpenFlow switches, and thereby controls the operations of the OpenFlow switches. The network traffic can be controlled by controlling the operations of the OpenFlow switches.
Furthermore, “appliances (network appliances)” are generally known which carries out particular processes on the network traffic. Examples of the appliance include a load balancer and a firewall. For example, a load balancer in the layer 4 selects one out of a plurality of servers upon reception of the first packet of a certain flow. Then, the load balancer appropriately rewrites header information of the packet, and transfers the rewritten packet to the selected server. Such rewriting of the header information of a packet is hereinafter referred to as “packet header rewriting”. Upon reception of packets belonging to the same flow, the load balancer similarly carries out the packet header rewriting on the received packets and then transfers the rewritten packets to the selected server. This achieves distribution of the load among servers.